#ifndef PHYSICSDEBUGDRAWER_H
#define PHYSICSDEBUGDRAWER_H

#include "Common/Common.h"

#include "Physics/Shapes/IShapeVisitor.h"
#include "Physics/Shapes/ICircleShape.h"
#include "Physics/Shapes/IPolygonShape.h"

#include "Core/Color.h"

class PhysicsDebugDrawer : public physics::IShapeVisitor
{
	public:
		PhysicsDebugDrawer( const core::Color& borderColor, const core::Color& fillColor );

		void DrawCollider();

		Transform GetPosition() const;
		void SetPosition( const Transform& pos);

		virtual void VisitCircle( const physics::ICircleShape* circle ) const;
		virtual void VisitPolygon( const physics::IPolygonShape* polygon ) const;
	protected:
	private:
		const core::Color _borderColor;
		const core::Color _fillColor;
		Transform _pos;

};

#endif // PHYSICSDEBUGDRAWER_H
